package com.kerrykidz.scminvoicing.dao.model;

import java.util.Date;
import java.util.List;

import com.kerrykidz.dao.model.GblPosDiscountEntity;
import com.rdp.framework.core.model.MyBatisSuperModel;
import com.rdp.framework.exception.RDPException;
import com.rdp.util.time.DateFormatUtil;

/**
 * 
 * @ClassName: GblScmPrdEntity
 * @description: 商品信息Entity
 * @author: ScreenJxp
 * @date: 2014年8月21日 下午1:24:47
 * @version: V1.0
 * 
 */
public class GblScmPrdEntity extends MyBatisSuperModel {
	// 对象基本属性
	private String pkPrdId;
	private String prdStatus;
	private String fkPrdcateId;
	private String prdName;
	private String fkPrdunitId;
	private String prdSpec;
	private String fkPicFile;
	private String comments;
	private Integer minStorage;
	private Date validFrom;
	private Date validTo;
	private String brancePrice;
	private String delFlag;
	private String modiBy;
	private Date modiTime;
	// 单次票商品
	private Integer chdCnt;
	private Integer guaCnt;

	// 会籍商品
	private Integer month;
	private String weekday;

	// 派对团体
	private Integer hours;
	private String incFood;

	// 课程类商品
	private Integer cnt;
	private Date startDate;
	private Date endDate;
	/*
	 * 是否允许特殊折扣的标记=1 是 =0 否
	 */
	private String allowSpedis;
	// 业务扩展属性
	private String cateName;// 商品分类名字
	private String unitName;// 商品单位名字
	private List<String> idList;// 商品id的list集合
	private List<String> excludeId;// 商品Id的集合用于查询
	private String resverseType;// 商品分类的类型
	private double productPrice;// 商品的价格
	private String startTime;// 开始时间
	private String endTime;// 结束时间
	private List<GblPosDiscountEntity> disCountList;// 折扣信息
	private Integer purCnt;// 商品的采购数量
	private Integer stgCnt;// 商品的库存数量
	private String attfilePath;// 商品图片的存放路径
	private Integer instgCnt;// 累计数量
	private String fkBranId;
	private Integer prdInstgCnt;// 实际数量

	// 派对预约 的 套餐，商品分类编号
	private String cateId1;
	private String cateId2;
	private String cateId3;
	private String cateId4;
	private String cateId5;
	private String partype;// 预约类型 0= 派对，1 =团体
	private String parZhuShiCount;
	private String cateTypes;// 商品的类型集合，以逗号分隔
	private String productIds;// 根据商品的集合查询，商品id，以逗号分开

	// 购买数量
	private Integer quantity;
	// 用户选择的折扣
	private Integer disCount;
	private String basicPkg;// 预约商品编号 组合
	private String basicPkg2;
	private String basicPkg3;

	// 折扣表字段
	private String pkDisId;
	private String disDesc;
	private Double disValue;
	private String actStartTime;// 活动开始时间
	private String actEndTime;// 活动结束时间

	private boolean cateCondition;

	// 购买此商品的会员编号
	private String fkMemId;
	private String memName;
	private String fkBdycpnId;// 此商品对应使用的玩伴券编号
	private String fkBdymemId;// 带领其它人购买单次票时的会员编号
	// 出库清单签收人
	private String signature;
	// 出库清单出库数量
	private Integer outstgCnt;
	// 商品树种选择商品
	private List<String> selectId;
	// 当前分类下的所有子分类
	private List<GblScmPrdCateEntity> cateList;
	// 库存盘点实际数量
	private Integer stkCnt;

	// 最新盘点单单号
	private String fkTskId;

	/** 采购单编号 **/
	private String purOrderId;
	// 库存盘点和调整中允许被查询的商品种类
	private List<String> resverseTypes;

	private String orderId;

	// 库存调整数量
	private String deviceType;// pad,pc
	private Integer adjCnt;

	private String[] cateIds;

	public List<GblScmPrdCateEntity> getCateList() {
		return cateList;
	}

	public void setCateList(List<GblScmPrdCateEntity> cateList) {
		this.cateList = cateList;
	}

	public String getProductIds() {
		return productIds;
	}

	public void setProductIds(String productIds) {
		this.productIds = productIds;
	}

	public String getCateTypes() {
		return cateTypes;
	}

	public void setCateTypes(String cateTypes) {
		this.cateTypes = cateTypes;
	}

	public Integer getAdjCnt() {
		return adjCnt;
	}

	public void setAdjCnt(Integer adjCnt) {
		this.adjCnt = adjCnt;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getFkTskId() {
		return fkTskId;
	}

	public void setFkTskId(String fkTskId) {
		this.fkTskId = fkTskId;
	}

	public Integer getStkCnt() {
		return stkCnt;
	}

	public void setStkCnt(Integer stkCnt) {
		this.stkCnt = stkCnt;
	}

	public String getActStartTime() throws RDPException {
		Date sdate = this.getStartDate();
		if (sdate != null) {
			this.actStartTime = DateFormatUtil.convertDateToStr(sdate, "yyyy/MM/dd");
			return this.actStartTime;
		}
		return actStartTime;
	}

	public void setActStartTime(String actStartTime) {
		this.actStartTime = actStartTime;
	}

	public String getActEndTime() throws RDPException {
		Date sdate = this.getEndDate();
		if (sdate != null) {
			this.actEndTime = DateFormatUtil.convertDateToStr(sdate, "yyyy/MM/dd");
			return this.actEndTime;
		}
		return actEndTime;
	}

	public void setActEndTime(String actEndTime) {
		this.actEndTime = actEndTime;
	}

	public List<String> getSelectId() {
		return selectId;
	}

	public void setSelectId(List<String> selectId) {
		this.selectId = selectId;
	}

	public String getSignature() {
		return signature;
	}

	public void setSignature(String signature) {
		this.signature = signature;
	}

	public Integer getOutstgCnt() {
		return outstgCnt;
	}

	public void setOutstgCnt(Integer outstgCnt) {
		this.outstgCnt = outstgCnt;
	}

	public String getFkBdymemId() {
		return fkBdymemId;
	}

	public void setFkBdymemId(String fkBdymemId) {
		this.fkBdymemId = fkBdymemId;
	}

	public String getFkBdycpnId() {
		return fkBdycpnId;
	}

	public void setFkBdycpnId(String fkBdycpnId) {
		this.fkBdycpnId = fkBdycpnId;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public String getMemName() {
		return memName;
	}

	public void setMemName(String memName) {
		this.memName = memName;
	}

	public String getFkMemId() {
		return fkMemId;
	}

	public void setFkMemId(String fkMemId) {
		this.fkMemId = fkMemId;
	}

	public Integer getCnt() {
		return cnt;
	}

	public void setCnt(Integer cnt) {
		this.cnt = cnt;
	}

	public List<String> getExcludeId() {
		return excludeId;
	}

	public void setExcludeId(List<String> excludeId) {
		this.excludeId = excludeId;
	}

	public String getPkDisId() {
		return pkDisId;
	}

	public void setPkDisId(String pkDisId) {
		this.pkDisId = pkDisId;
	}

	public String getDisDesc() {
		return disDesc;
	}

	public void setDisDesc(String disDesc) {
		this.disDesc = disDesc;
	}

	public Double getDisValue() {
		return disValue;
	}

	public void setDisValue(Double disValue) {
		this.disValue = disValue;
	}

	public Integer getPrdInstgCnt() {
		return prdInstgCnt;
	}

	public void setPrdInstgCnt(Integer prdInstgCnt) {
		this.prdInstgCnt = prdInstgCnt;
	}

	public Integer getInstgCnt() {
		return instgCnt;
	}

	public void setInstgCnt(Integer instgCnt) {
		this.instgCnt = instgCnt;
	}

	public String getAttfilePath() {
		return attfilePath;
	}

	public void setAttfilePath(String attfilePath) {
		this.attfilePath = attfilePath;
	}

	public Integer getDisCount() {
		return disCount;
	}

	public void setDisCount(Integer disCount) {
		this.disCount = disCount;
	}

	public Integer getQuantity() {
		return quantity;
	}

	public void setQuantity(Integer quantity) {
		this.quantity = quantity;
	}

	public Integer getPurCnt() {
		return purCnt;
	}

	public void setPurCnt(Integer purCnt) {
		this.purCnt = purCnt;
	}

	public Integer getStgCnt() {
		return stgCnt;
	}

	public void setStgCnt(Integer stgCnt) {
		this.stgCnt = stgCnt;
	}

	public List<GblPosDiscountEntity> getDisCountList() {
		return disCountList;
	}

	public void setDisCountList(List<GblPosDiscountEntity> disCountList) {
		this.disCountList = disCountList;
	}

	public String getStartTime() throws RDPException {
		Date sdate = this.getValidFrom();
		if (sdate != null) {
			this.startTime = DateFormatUtil.convertDateToStr(sdate, "yyyy/MM/dd hh:mm:ss");
			return this.startTime;
		}
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() throws RDPException {
		Date sdate = this.getValidTo();
		if (sdate != null) {
			this.endTime = DateFormatUtil.convertDateToStr(sdate, "yyyy/MM/dd hh:mm:ss");
			return this.endTime;
		}
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public double getProductPrice() {
		return productPrice;
	}

	public void setProductPrice(double productPrice) {
		this.productPrice = productPrice;
	}

	public String getCateId1() {
		return cateId1;
	}

	public void setCateId1(String cateId1) {
		this.cateId1 = cateId1;
	}

	public String getCateId2() {
		return cateId2;
	}

	public void setCateId2(String cateId2) {
		this.cateId2 = cateId2;
	}

	public String getCateId3() {
		return cateId3;
	}

	public void setCateId3(String cateId3) {
		this.cateId3 = cateId3;
	}

	public String getCateId4() {
		return cateId4;
	}

	public void setCateId4(String cateId4) {
		this.cateId4 = cateId4;
	}

	public String getCateId5() {
		return cateId5;
	}

	public void setCateId5(String cateId5) {
		this.cateId5 = cateId5;
	}

	public String getPartype() {
		return partype;
	}

	public void setPartype(String partype) {
		this.partype = partype;
	}

	public String getParZhuShiCount() {
		return parZhuShiCount;
	}

	public void setParZhuShiCount(String parZhuShiCount) {
		this.parZhuShiCount = parZhuShiCount;
	}

	public Integer getChdCnt() {
		return chdCnt;
	}

	public void setChdCnt(Integer chdCnt) {
		this.chdCnt = chdCnt;
	}

	public Integer getGuaCnt() {
		return guaCnt;
	}

	public void setGuaCnt(Integer guaCnt) {
		this.guaCnt = guaCnt;
	}

	public Integer getMonth() {
		return month;
	}

	public void setMonth(Integer month) {
		this.month = month;
	}

	public String getWeekday() {
		return weekday;
	}

	public void setWeekday(String weekday) {
		this.weekday = weekday;
	}

	public Integer getHours() {
		return hours;
	}

	public void setHours(Integer hours) {
		this.hours = hours;
	}

	public String getIncFood() {
		return incFood;
	}

	public void setIncFood(String incFood) {
		this.incFood = incFood;
	}

	public String getResverseType() {
		return resverseType;
	}

	public void setResverseType(String resverseType) {
		this.resverseType = resverseType;
	}

	public List<String> getIdList() {
		return idList;
	}

	public void setIdList(List<String> idList) {
		this.idList = idList;
	}

	public String getCateName() {
		return cateName;
	}

	public void setCateName(String cateName) {
		this.cateName = cateName;
	}

	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}

	public String getPkPrdId() {
		return pkPrdId;
	}

	public void setPkPrdId(String pkPrdId) {
		this.pkPrdId = pkPrdId;
	}

	public String getPrdStatus() {
		return prdStatus;
	}

	public void setPrdStatus(String prdStatus) {
		this.prdStatus = prdStatus;
	}

	public String getFkPrdcateId() {
		return fkPrdcateId;
	}

	public void setFkPrdcateId(String fkPrdcateId) {
		this.fkPrdcateId = fkPrdcateId;
	}

	public String getPrdName() {
		return prdName;
	}

	public void setPrdName(String prdName) {
		this.prdName = prdName;
	}

	public String getFkPrdunitId() {
		return fkPrdunitId;
	}

	public void setFkPrdunitId(String fkPrdunitId) {
		this.fkPrdunitId = fkPrdunitId;
	}

	public String getPrdSpec() {
		return prdSpec;
	}

	public void setPrdSpec(String prdSpec) {
		this.prdSpec = prdSpec;
	}

	public String getFkPicFile() {
		return fkPicFile;
	}

	public void setFkPicFile(String fkPicFile) {
		this.fkPicFile = fkPicFile;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}

	public Integer getMinStorage() {
		return minStorage;
	}

	public void setMinStorage(Integer minStorage) {
		this.minStorage = minStorage;
	}

	public Date getValidFrom() {
		return validFrom;
	}

	public void setValidFrom(Date validFrom) {
		this.validFrom = validFrom;
	}

	public Date getValidTo() {
		return validTo;
	}

	public void setValidTo(Date validTo) {
		this.validTo = validTo;
	}

	public String getBrancePrice() {
		return brancePrice;
	}

	public void setBrancePrice(String brancePrice) {
		this.brancePrice = brancePrice;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}

	public String getModiBy() {
		return modiBy;
	}

	public void setModiBy(String modiBy) {
		this.modiBy = modiBy;
	}

	public Date getModiTime() {
		return modiTime;
	}

	public void setModiTime(Date modiTime) {
		this.modiTime = modiTime;
	}

	public String getBasicPkg() {
		return basicPkg;
	}

	public void setBasicPkg(String basicPkg) {
		this.basicPkg = basicPkg;
	}

	public String getBasicPkg2() {
		return basicPkg2;
	}

	public void setBasicPkg2(String basicPkg2) {
		this.basicPkg2 = basicPkg2;
	}

	public String getBasicPkg3() {
		return basicPkg3;
	}

	public void setBasicPkg3(String basicPkg3) {
		this.basicPkg3 = basicPkg3;
	}

	public String getAllowSpedis() {
		return allowSpedis;
	}

	public void setAllowSpedis(String allowSpedis) {
		this.allowSpedis = allowSpedis;
	}

	public String getFkBranId() {
		return fkBranId;
	}

	public void setFkBranId(String fkBranId) {
		this.fkBranId = fkBranId;
	}

	public boolean isCateCondition() {
		return cateCondition;
	}

	public void setCateCondition(boolean cateCondition) {
		this.cateCondition = cateCondition;
	}

	public String getPurOrderId() {
		return purOrderId;
	}

	public void setPurOrderId(String purOrderId) {
		this.purOrderId = purOrderId;
	}

	public List<String> getResverseTypes() {
		return resverseTypes;
	}

	public void setResverseTypes(List<String> resverseTypes) {
		this.resverseTypes = resverseTypes;
	}

	public String[] getCateIds() {
		return cateIds;
	}

	public void setCateIds(String[] cateIds) {
		this.cateIds = cateIds;
	}

	public String getDeviceType() {
		return deviceType;
	}

	public void setDeviceType(String deviceType) {
		this.deviceType = deviceType;
	}

}